package chatModel;

/**
 * Valeurs associées aux choix possibles pour les notifications
 * 
 */
public class Choix {

    /** 
     * On reçoit un Hello d'un nouvel utilisateur 
     * => on envoie un ack et on l'ajoute dans la liste
     */
    public static final int rcvNewHello = 1;  //OK
    
    /*
     * On dit au ChatNI d'envoyer le message à l'utilisateur et 
     * on ajoute ce message dans la conversation qu'on a avec l'utilisateur
     */
    public static final int sendMsgOneUser = 2; //OK
    
    /*
     * On dit au ChatNI d'envoyer le message en broadcast et on ajoute 
     * se message dans la conversation qu'on a avec tous les utilisateurs
     */
    public static final int sendMsgAllUser = 3; //OK
    
    /**
     * On a réussi à se connecter, on envoyer un Hello en broadcast
     */
    public static final int connexionOk = 4;  //OK
    
    /**
     * On a cliqué sur deconnexion => on envoie un bye à tout le monde 
     * et on affiche la fenetre de connexion
     */
    public static final int deconnexionOk = 5; //OK
    
    
    /**
     * On dit au ChatNI d'envoyer une demande de reception de fichier 
     * à un utilisateur
     */
    public static final int sendFileNotifOneUser = 6; //OK
    
    /**
     * On dit au ChatNI d'envoyer une demande de reception de fichier à tous 
     * les utilisateurs
     */
    public static final int sendFileNotifAllUser = 7; //OK
    
    /**
     * On dit au ChatNI d'envoyer un ack positif, on veut recevoir le fichier, 
     * et on démarre le thread de la reception
     */
    public static final int confAcceptFileOk = 8; //OK
    
    /**
     * On dit au ChatNI d'envoyer un ack négatif, 
     * on ne veut pas recevoir le fichier
     */
    public static final int confAcceptFileNoOk = 9; //OK
    
    /**
     * Le fichier a été accepté, on démarre le thread qui envoie le fichier
     */
    public static final int rcvAcceptedFile = 10; //OK
    
    /**
     * Le fichier a été refusé, on affiche une fenetre 
     * pour prévenir l'utilisateur
     */
    public static final int rcvRefusedFile = 11; //OK
    
    /**
     * Quand le ChatNI reçoit une demande d'acceptation du fichier, 
     * le ChatGui affiche une fenetre pour que l'utilisateur 
     * puisse donner une réponse
     * 
     * S'il accepte on ouvre une autre fenetre pour préciser l'emplacement 
     * et quand il appuie sur OK on envoie la confirmation d'acceptation
     * 
     * S'il accepte pas, 
     * on dit au ChatNI qu'il envoie un ack négatif (confAcceptFileNoOk)
     */
    public static final int fileNotif = 12; //OK
    
    /**
     * Quand on reçoit un ChatMessage, on l'ajoute dans la conversation qui 
     * correspond, et la classe Utilisateur demande 
     * au GUI de mettre à jour la conversation
     */
    public static final int rcvMsg = 13;  //OK
    
    /**
     * Quand on reçoit un ack ou un hello, on met l'utilisateur 
     * dans la liste d'utilisateur,
     * et on demande au GUI de mettre à jour la liste d'utilisateur
     */
    public static final int fichierRecuOuEnvoye = 14; //OK
    
    /**
     * quand on appuie sur la croix pour fermer 
     * on quitte le chat et on envoie un bye
     */
    public static final int quitChat = 15; //OK
    
    public static final int connectdeconnect = 16;
}
